RAGAS 评估框架
RAGAS(Retrieval Augmented Generation Assessment)是一个大模型评测框架,用于自动评估 RAG 系统的检索质量和生成质量。评估基于两个方向:检索(Context)和生成(Answer)。
GitHub:github.com/explodinggradients/ragas
评估数据
所需数据集包含以下字段:
| 字段 | 说明 |
|---|---|
| question | 用户查询 |
| answer | RAG 管道生成的答案 |
| contexts | 从外部知识源检索到的上下文 |
| ground_truths | 问题的真实答案(唯一需人工标注) |
四项核心指标
上下文相关性(Context Relevance)
衡量检索到的上下文是否仅包含回答问题所需的信息,惩罚冗余。分数越高越好。
实现:用 LLM 从上下文中提取对回答问题至关重要的句子。
上下文召回率(Context Recall)
衡量检索到的上下文对真实答案的覆盖程度。范围 0~1,越高越好。
实现:将真实答案拆分为声明(claim),逐个判断是否可归因于检索上下文。
示例:真实答案为「西班牙在决赛中以 1-0 击败荷兰」,但上下文仅提到「西班牙击败荷兰」,未提比分 → 该声明未召回。
忠实度(Faithfulness)
答案是否确实基于检索到的上下文生成,避免幻觉。分数低 = 幻觉风险高。
实现:
- 从答案中提取一组陈述
- 对每个陈述,判断是否可从上下文中推断
答案相关性(Answer Relevancy)
答案与查询之间的语义相关性。分数越高越好。
实现:基于答案反向生成 n 个潜在问题,计算这些生成问题与原始问题的平均余弦相似度。
指标总览
| 维度 | 指标 | 核心问题 |
|---|---|---|
| 检索 | 上下文相关性 | 检索内容是否精简不冗余? |
| 检索 | 上下文召回率 | 检索是否覆盖了真实答案的全部信息? |
| 生成 | 忠实度 | 答案是否忠实于上下文,有无幻觉? |
| 生成 | 答案相关性 | 答案是否紧扣用户问题? |
| (内容由AI生成,仅供参考) |